package com.icinfo.cloud.provider.punish.api.client.fastcase;

import com.icinfo.cloud.provider.punish.ucase.punishinform.dto.FastCaseAddInfoDto;
import com.icinfo.cloud.provider.punish.ucase.punishinform.dto.FastCaseAddInfoTemporaryDto;
import com.icinfo.framework.common.web.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


/**
 * 描述：案件当事人记录feign客户端接口
 *
 * @author shishengyao
 * @description
 * @date 2023/5/9
 */
@FeignClient(value = "${unified-punish-case-provider.namespace:}unified-punish-case-provider", contextId = "InformInvestigationEndFeign")
public interface InformInvestigationEndFeign {
    /**
     * 简案快办补充信息保存
     *
     * @param fastCaseAddInfoDto
     * @return {@link Result< String>}
     * @author liyafeng
     * @date 2023/4/20
     */
    @PostMapping(value = "/punish/inform/investigationEnd/saveFastCaseAddInfo", produces = MediaType.APPLICATION_JSON_VALUE)
    Result<String> saveFastCaseAddInfo(@RequestBody @Validated FastCaseAddInfoDto fastCaseAddInfoDto);

    /**
     * 简案快办补充信息暂存
     *
     * @param fastCaseAddInfoDto
     * @return {@link Result< String>}
     * @author liyafeng
     * @date 2023/5/6
     */
    @PostMapping(value = "/punish/inform/investigationEnd/saveFastCaseAddInfoTemporary", produces = MediaType.APPLICATION_JSON_VALUE)
    Result<String> saveFastCaseAddInfoTemporary(@RequestBody FastCaseAddInfoDto fastCaseAddInfoDto);

    /**
     * 简案快办补充信息暂存获取
     *
     * @param dto
     * @return {@link Result< FastCaseAddInfoDto>}
     * @author liyafeng
     * @date 2023/5/6
     */
    @PostMapping(value = "/punish/inform/investigationEnd/getFastCaseAddInfoTemporary", produces = MediaType.APPLICATION_JSON_VALUE)
    Result<FastCaseAddInfoDto> getFastCaseAddInfoTemporary(@RequestBody @Validated FastCaseAddInfoTemporaryDto dto);

}
